package com.wicket.okrapp.integration.dto;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc DeleteTargetObjectIvenitiatorComReqDto
 * @使用场景
 */
@Data
public class DeleteTargetObjectIvenitiatorComReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 归属对象内容ID
   */
  @NotNull(message = "评价模板ID不能为空")
  @ApiModelProperty("评价模板ID")
  private String objectId;

  /**
   * 想存档的责任人或主管虚拟组织成员ID
   */
  @ApiModelProperty("想存档的责任人或主管虚拟组织成员ID")
  private String wantArchiveVirtualOrgMemberId;

  /**
   * 虚拟组织成员ID
   */
  @NotNull(message = "虚拟组织成员ID不能为空")
  @ApiModelProperty("虚拟组织成员ID")
  private String virtualOrgMemberId;

  /**
   * 批次标识
   */
  @NotNull(message = "批次标识不能为空")
  @ApiModelProperty("批次标识")
  private String batchCode;

  /**
   * 创建于批次标识
   */
  @ApiModelProperty("创建于批次标识")
  private String createBatchCode;

  /**
   * 批次现状
   */
  @NotNull(message = "批次现状不能为空")
  @ApiModelProperty("批次现状")
  private String batchCurrentStatus;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

  /**
   * 主体类型编码 ORG_LOG_NAV:组织架构日志导航 DEPT_LOG_NAV:部门日志导航 STATION_TYPE_LOG_NAV:岗位类型日志导航 EVALUATION_TEMPLATE_LOG_NAV:评价模板日志导航 MID_TARGET_DIVISION_LOG_NAV:中层目标分工日志导航 BASIC_TARGET_DIVISION_LOG_NAV:基层目标分工日志导航 WORK_TASK_LOG_NAV:工作任务日志导航
   */
  @NotNull(message = "主体类型编码不能为空")
  @ApiModelProperty("主体类型编码")
  private String subjectTypeCode;

  /**
   * 主体变更日志类型
   */
  @NotNull(message = "主体变更日志类型不能为空")
  @ApiModelProperty("主体变更日志类型")
  private String subjectChangeType;

  /**
   * 变更后字段中文内容
   */
  @NotNull(message = "变更后字段中文内容不能为空")
  @ApiModelProperty("变更后字段中文内容")
  private String columnContent;

  /**
   * 变更字段行为日志名称
   */
  @NotNull(message = "变更字段行为日志名称不能为空")
  @ApiModelProperty("变更字段行为日志名称")
  private String objectPropertyName;

  /**
   * 对象名称
   */
  @NotNull(message = "目标内容名称不能为空")
  @ApiModelProperty("目标内容名称")
  private String objectName;

}
